Skip to content

[24121] Account for notification sample in DataReaderHistory::get_first_untaken_info (backport #6276)#6278

Merged
MiguelCompany merged 1 commit intomasterfrom
mergify/bp/master/pr-6276
Jan 27, 2026
Merged

[24121] Account for notification sample in DataReaderHistory::get_first_untaken_info (backport #6276)#6278
MiguelCompany merged 1 commit intomasterfrom
mergify/bp/master/pr-6276

Conversation

@mergify
Copy link
Contributor

@mergify mergify bot commented Jan 27, 2026

Description

When using get_first_untaken_info to check whether a DataReader has a sample to be taken, the fake sample introduced in #5943 should be taken into account.

Otherwise, as noted in ros2/rclcpp#3036, the application may enter an infinite loop in which a WaitSet waiting in the DataReader's StatusCondition never blocks, and get_first_untaken_info never returns OK, causing 100% CPU usage.

NOTE: Opening against 3.4.x so the issue in ROS 2 is quickly fixed, so requesting a forward port to master

@Mergifyio backport master

Contributor Checklist

  • Commit messages follow the project guidelines.

  • The code follows the style guidelines of this project.

  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally

  • Any new/modified methods have been properly documented using Doxygen.

  • N/A: Any new configuration API has an equivalent XML API (with the corresponding XSD extension)

  • Changes are backport compatible: they do NOT break ABI nor change library core behavior.

  • Changes are API compatible.

  • N/A: New feature has been added to the versions.md file (if applicable).

  • N/A: New feature has been documented/Current behavior is correctly described in the documentation.

  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

This is an automatic backport of pull request #6276 done by [Mergify](https://mergify.com).

…ken_info` (#6276)

* Refs #24120. Extend `return_sample_when_writer_disappears` blackbox test.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #24120. Refactor `ReadTakeCommand::generate_info`.

Moving code to a public static method so it can be used outside.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #24120. Account for notification sample in `DataReaderHistory::get_first_untaken_info`.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #24121. Please uncrustify.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #24121. Fix build error.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 0096d75)
@MiguelCompany MiguelCompany added this to the v3.5.0 milestone Jan 27, 2026
@MiguelCompany MiguelCompany self-requested a review January 27, 2026 05:52
@github-actions github-actions bot added the ci-pending PR which CI is running label Jan 27, 2026
@mergify
Copy link
Contributor Author

mergify bot commented Jan 27, 2026

🧪 CI Insights

Here's what we observed from your CI run for f3d3a45.

❌ Job Failures

Pipeline Job Health on master Retries 🔍 CI Insights 📄 Logs
Fast DDS MacOS CI mac-ci / fastdds_test () Unknown 0 View View
Fast DDS Ubuntu CI ubuntu-ci / fastdds_test (RelWithDebInfo) Unknown 0 View View
Fast DDS Windows CI windows-ci / fastdds_test (RelWithDebInfo, examples), v142 Unknown 0 View View
windows-ci / fastdds_test (RelWithDebInfo, examples), v143 Unknown 0 View View

@MiguelCompany MiguelCompany merged commit 0790d29 into master Jan 27, 2026
24 of 28 checks passed
@MiguelCompany MiguelCompany deleted the mergify/bp/master/pr-6276 branch January 27, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-pending PR which CI is running

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant